#pragma once

/*
 * Copyright (c) 2018 Confetti Interactive Inc.
 * 
 * This file is part of The-Forge
 * (see https://github.com/ConfettiFX/The-Forge).
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
*/

/*
cbuffer uRootConstants : register(b0)
{
	float4 color;
	float2 scaleBias;
};

float4 main(float2 position : Position) : SV_POSITION
{
	return float4 (position.xy * scaleBias.xy + float2(-1.0f, 1.0f), 0.0f, 1.0f);
};
*/
static const uint8_t d3d12_builtin_plain_vert[] =
{
	68,  88,  66,  67, 104, 148,
	66, 222, 162,  93, 140, 134,
	1, 122,  34,   2, 237, 119,
	139, 106,   1,   0,   0,   0,
	64,   3,   0,   0,   5,   0,
	0,   0,  52,   0,   0,   0,
	164,   1,   0,   0, 216,   1,
	0,   0,  12,   2,   0,   0,
	164,   2,   0,   0,  82,  68,
	69,  70, 104,   1,   0,   0,
	1,   0,   0,   0, 108,   0,
	0,   0,   1,   0,   0,   0,
	60,   0,   0,   0,   0,   5,
	254, 255,   0, 129,  32,   0,
	64,   1,   0,   0,  82,  68,
	49,  49,  60,   0,   0,   0,
	24,   0,   0,   0,  32,   0,
	0,   0,  40,   0,   0,   0,
	36,   0,   0,   0,  12,   0,
	0,   0,   0,   0,   0,   0,
	92,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	1,   0,   0,   0,   1,   0,
	0,   0, 117,  82, 111, 111,
	116,  67, 111, 110, 115, 116,
	97, 110, 116, 115,   0, 171,
	92,   0,   0,   0,   2,   0,
	0,   0, 132,   0,   0,   0,
	32,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	212,   0,   0,   0,   0,   0,
	0,   0,  16,   0,   0,   0,
	0,   0,   0,   0, 228,   0,
	0,   0,   0,   0,   0,   0,
	255, 255, 255, 255,   0,   0,
	0,   0, 255, 255, 255, 255,
	0,   0,   0,   0,   8,   1,
	0,   0,  16,   0,   0,   0,
	8,   0,   0,   0,   2,   0,
	0,   0,  28,   1,   0,   0,
	0,   0,   0,   0, 255, 255,
	255, 255,   0,   0,   0,   0,
	255, 255, 255, 255,   0,   0,
	0,   0,  99, 111, 108, 111,
	114,   0, 102, 108, 111,  97,
	116,  52,   0, 171, 171, 171,
	1,   0,   3,   0,   1,   0,
	4,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0, 218,   0,   0,   0,
	115,  99,  97, 108, 101,  66,
	105,  97, 115,   0, 102, 108,
	111,  97, 116,  50,   0, 171,
	171, 171,   1,   0,   3,   0,
	1,   0,   2,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,  18,   1,
	0,   0,  77, 105,  99, 114,
	111, 115, 111, 102, 116,  32,
	40,  82,  41,  32,  72,  76,
	83,  76,  32,  83, 104,  97,
	100, 101, 114,  32,  67, 111,
	109, 112, 105, 108, 101, 114,
	32,  49,  48,  46,  49,   0,
	73,  83,  71,  78,  44,   0,
	0,   0,   1,   0,   0,   0,
	8,   0,   0,   0,  32,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   3,   0,
	0,   0,   0,   0,   0,   0,
	3,   3,   0,   0,  80, 111,
	115, 105, 116, 105, 111, 110,
	0, 171, 171, 171,  79,  83,
	71,  78,  44,   0,   0,   0,
	1,   0,   0,   0,   8,   0,
	0,   0,  32,   0,   0,   0,
	0,   0,   0,   0,   1,   0,
	0,   0,   3,   0,   0,   0,
	0,   0,   0,   0,  15,   0,
	0,   0,  83,  86,  95,  80,
	79,  83,  73,  84,  73,  79,
	78,   0,  83,  72,  69,  88,
	144,   0,   0,   0,  80,   0,
	1,   0,  36,   0,   0,   0,
	106,   8,   0,   1,  89,   0,
	0,   4,  70, 142,  32,   0,
	0,   0,   0,   0,   2,   0,
	0,   0,  95,   0,   0,   3,
	50,  16,  16,   0,   0,   0,
	0,   0, 103,   0,   0,   4,
	242,  32,  16,   0,   0,   0,
	0,   0,   1,   0,   0,   0,
	50,   0,   0,  13,  50,  32,
	16,   0,   0,   0,   0,   0,
	70,  16,  16,   0,   0,   0,
	0,   0,  70, 128,  32,   0,
	0,   0,   0,   0,   1,   0,
	0,   0,   2,  64,   0,   0,
	0,   0, 128, 191,   0,   0,
	128,  63,   0,   0,   0,   0,
	0,   0,   0,   0,  54,   0,
	0,   8, 194,  32,  16,   0,
	0,   0,   0,   0,   2,  64,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0, 128,  63,
	62,   0,   0,   1,  83,  84,
	65,  84, 148,   0,   0,   0,
	3,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	2,   0,   0,   0,   1,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   1,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   1,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0
};
/*
cbuffer uRootConstants : register(b0)
{
	float4 color;
	float2 scaleBias;
};

float4 main(float4 position : SV_POSITION) : SV_TARGET0
{
	return color;
};
*/
static const uint8_t d3d12_builtin_plain_frag[] =
{
	68,  88,  66,  67, 145, 228,
	99, 230, 249,  28, 150, 173,
	182, 185,  21,  83,   3, 230,
	106, 191,   1,   0,   0,   0,
	244,   2,   0,   0,   5,   0,
	0,   0,  52,   0,   0,   0,
	164,   1,   0,   0, 216,   1,
	0,   0,  12,   2,   0,   0,
	88,   2,   0,   0,  82,  68,
	69,  70, 104,   1,   0,   0,
	1,   0,   0,   0, 108,   0,
	0,   0,   1,   0,   0,   0,
	60,   0,   0,   0,   0,   5,
	255, 255,   0, 129,  32,   0,
	64,   1,   0,   0,  82,  68,
	49,  49,  60,   0,   0,   0,
	24,   0,   0,   0,  32,   0,
	0,   0,  40,   0,   0,   0,
	36,   0,   0,   0,  12,   0,
	0,   0,   0,   0,   0,   0,
	92,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	1,   0,   0,   0,   1,   0,
	0,   0, 117,  82, 111, 111,
	116,  67, 111, 110, 115, 116,
	97, 110, 116, 115,   0, 171,
	92,   0,   0,   0,   2,   0,
	0,   0, 132,   0,   0,   0,
	32,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	212,   0,   0,   0,   0,   0,
	0,   0,  16,   0,   0,   0,
	2,   0,   0,   0, 228,   0,
	0,   0,   0,   0,   0,   0,
	255, 255, 255, 255,   0,   0,
	0,   0, 255, 255, 255, 255,
	0,   0,   0,   0,   8,   1,
	0,   0,  16,   0,   0,   0,
	8,   0,   0,   0,   0,   0,
	0,   0,  28,   1,   0,   0,
	0,   0,   0,   0, 255, 255,
	255, 255,   0,   0,   0,   0,
	255, 255, 255, 255,   0,   0,
	0,   0,  99, 111, 108, 111,
	114,   0, 102, 108, 111,  97,
	116,  52,   0, 171, 171, 171,
	1,   0,   3,   0,   1,   0,
	4,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0, 218,   0,   0,   0,
	115,  99,  97, 108, 101,  66,
	105,  97, 115,   0, 102, 108,
	111,  97, 116,  50,   0, 171,
	171, 171,   1,   0,   3,   0,
	1,   0,   2,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,  18,   1,
	0,   0,  77, 105,  99, 114,
	111, 115, 111, 102, 116,  32,
	40,  82,  41,  32,  72,  76,
	83,  76,  32,  83, 104,  97,
	100, 101, 114,  32,  67, 111,
	109, 112, 105, 108, 101, 114,
	32,  49,  48,  46,  49,   0,
	73,  83,  71,  78,  44,   0,
	0,   0,   1,   0,   0,   0,
	8,   0,   0,   0,  32,   0,
	0,   0,   0,   0,   0,   0,
	1,   0,   0,   0,   3,   0,
	0,   0,   0,   0,   0,   0,
	15,   0,   0,   0,  83,  86,
	95,  80,  79,  83,  73,  84,
	73,  79,  78,   0,  79,  83,
	71,  78,  44,   0,   0,   0,
	1,   0,   0,   0,   8,   0,
	0,   0,  32,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   3,   0,   0,   0,
	0,   0,   0,   0,  15,   0,
	0,   0,  83,  86,  95,  84,
	65,  82,  71,  69,  84,   0,
	171, 171,  83,  72,  69,  88,
	68,   0,   0,   0,  80,   0,
	0,   0,  17,   0,   0,   0,
	106,   8,   0,   1,  89,   0,
	0,   4,  70, 142,  32,   0,
	0,   0,   0,   0,   1,   0,
	0,   0, 101,   0,   0,   3,
	242,  32,  16,   0,   0,   0,
	0,   0,  54,   0,   0,   6,
	242,  32,  16,   0,   0,   0,
	0,   0,  70, 142,  32,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,  62,   0,   0,   1,
	83,  84,  65,  84, 148,   0,
	0,   0,   2,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   1,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	1,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	1,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0
};
/*
cbuffer uRootConstants : register(b0)
{
	float2 scaleBias;
};

struct VsIn
{
	float2 position : Position;
	float4 color : Color;
};

struct VsOut
{
	float4 position : SV_POSITION;
	float4 color : TEXCOORD0;
};

VsOut main(VsIn input)
{
	VsOut output = (VsOut)0;
	output.position = float4(input.position.xy * scaleBias.xy + float2(-1.0f, 1.0f), 0.0f, 1.0f);
	output.color = input.color;
	return output;
}
*/
static const uint8_t d3d12_builtin_plain_color_vert[] =
{
	68,  88,  66,  67,  25,  15,
	244, 105, 105,  62,  98,  37,
	229, 205, 189, 167,  75, 246,
	60, 166,   1,   0,   0,   0,
	80,   3,   0,   0,   5,   0,
	0,   0,  52,   0,   0,   0,
	72,   1,   0,   0, 152,   1,
	0,   0, 240,   1,   0,   0,
	180,   2,   0,   0,  82,  68,
	69,  70,  12,   1,   0,   0,
	1,   0,   0,   0, 108,   0,
	0,   0,   1,   0,   0,   0,
	60,   0,   0,   0,   0,   5,
	254, 255,   0, 129,  32,   0,
	228,   0,   0,   0,  82,  68,
	49,  49,  60,   0,   0,   0,
	24,   0,   0,   0,  32,   0,
	0,   0,  40,   0,   0,   0,
	36,   0,   0,   0,  12,   0,
	0,   0,   0,   0,   0,   0,
	92,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	1,   0,   0,   0,   1,   0,
	0,   0, 117,  82, 111, 111,
	116,  67, 111, 110, 115, 116,
	97, 110, 116, 115,   0, 171,
	92,   0,   0,   0,   1,   0,
	0,   0, 132,   0,   0,   0,
	16,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	172,   0,   0,   0,   0,   0,
	0,   0,   8,   0,   0,   0,
	2,   0,   0,   0, 192,   0,
	0,   0,   0,   0,   0,   0,
	255, 255, 255, 255,   0,   0,
	0,   0, 255, 255, 255, 255,
	0,   0,   0,   0, 115,  99,
	97, 108, 101,  66, 105,  97,
	115,   0, 102, 108, 111,  97,
	116,  50,   0, 171, 171, 171,
	1,   0,   3,   0,   1,   0,
	2,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0, 182,   0,   0,   0,
	77, 105,  99, 114, 111, 115,
	111, 102, 116,  32,  40,  82,
	41,  32,  72,  76,  83,  76,
	32,  83, 104,  97, 100, 101,
	114,  32,  67, 111, 109, 112,
	105, 108, 101, 114,  32,  49,
	48,  46,  49,   0,  73,  83,
	71,  78,  72,   0,   0,   0,
	2,   0,   0,   0,   8,   0,
	0,   0,  56,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   3,   0,   0,   0,
	0,   0,   0,   0,   3,   3,
	0,   0,  65,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   3,   0,   0,   0,
	1,   0,   0,   0,  15,  15,
	0,   0,  80, 111, 115, 105,
	116, 105, 111, 110,   0,  67,
	111, 108, 111, 114,   0, 171,
	79,  83,  71,  78,  80,   0,
	0,   0,   2,   0,   0,   0,
	8,   0,   0,   0,  56,   0,
	0,   0,   0,   0,   0,   0,
	1,   0,   0,   0,   3,   0,
	0,   0,   0,   0,   0,   0,
	15,   0,   0,   0,  68,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   3,   0,
	0,   0,   1,   0,   0,   0,
	15,   0,   0,   0,  83,  86,
	95,  80,  79,  83,  73,  84,
	73,  79,  78,   0,  84,  69,
	88,  67,  79,  79,  82,  68,
	0, 171, 171, 171,  83,  72,
	69,  88, 188,   0,   0,   0,
	80,   0,   1,   0,  47,   0,
	0,   0, 106,   8,   0,   1,
	89,   0,   0,   4,  70, 142,
	32,   0,   0,   0,   0,   0,
	1,   0,   0,   0,  95,   0,
	0,   3,  50,  16,  16,   0,
	0,   0,   0,   0,  95,   0,
	0,   3, 242,  16,  16,   0,
	1,   0,   0,   0, 103,   0,
	0,   4, 242,  32,  16,   0,
	0,   0,   0,   0,   1,   0,
	0,   0, 101,   0,   0,   3,
	242,  32,  16,   0,   1,   0,
	0,   0,  50,   0,   0,  13,
	50,  32,  16,   0,   0,   0,
	0,   0,  70,  16,  16,   0,
	0,   0,   0,   0,  70, 128,
	32,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   2,  64,
	0,   0,   0,   0, 128, 191,
	0,   0, 128,  63,   0,   0,
	0,   0,   0,   0,   0,   0,
	54,   0,   0,   8, 194,  32,
	16,   0,   0,   0,   0,   0,
	2,  64,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	128,  63,  54,   0,   0,   5,
	242,  32,  16,   0,   1,   0,
	0,   0,  70,  30,  16,   0,
	1,   0,   0,   0,  62,   0,
	0,   1,  83,  84,  65,  84,
	148,   0,   0,   0,   4,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   4,   0,
	0,   0,   1,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   1,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   2,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0
};
/*
struct PsIn
{
	float4 position : SV_POSITION;
	float4 color : TEXCOORD0;
};

float4 main(PsIn input) : SV_TARGET0
{
	return input.color;
};
*/
static const uint8_t d3d12_builtin_plain_color_frag[] =
{
	68,  88,  66,  67, 206, 157,
	171, 118, 235, 182, 183, 135,
	175, 184,  79,  55, 122,  81,
	184, 119,   1,   0,   0,   0,
	12,   2,   0,   0,   5,   0,
	0,   0,  52,   0,   0,   0,
	160,   0,   0,   0, 248,   0,
	0,   0,  44,   1,   0,   0,
	112,   1,   0,   0,  82,  68,
	69,  70, 100,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	60,   0,   0,   0,   0,   5,
	255, 255,   0, 129,   0,   0,
	60,   0,   0,   0,  82,  68,
	49,  49,  60,   0,   0,   0,
	24,   0,   0,   0,  32,   0,
	0,   0,  40,   0,   0,   0,
	36,   0,   0,   0,  12,   0,
	0,   0,   0,   0,   0,   0,
	77, 105,  99, 114, 111, 115,
	111, 102, 116,  32,  40,  82,
	41,  32,  72,  76,  83,  76,
	32,  83, 104,  97, 100, 101,
	114,  32,  67, 111, 109, 112,
	105, 108, 101, 114,  32,  49,
	48,  46,  49,   0,  73,  83,
	71,  78,  80,   0,   0,   0,
	2,   0,   0,   0,   8,   0,
	0,   0,  56,   0,   0,   0,
	0,   0,   0,   0,   1,   0,
	0,   0,   3,   0,   0,   0,
	0,   0,   0,   0,  15,   0,
	0,   0,  68,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   3,   0,   0,   0,
	1,   0,   0,   0,  15,  15,
	0,   0,  83,  86,  95,  80,
	79,  83,  73,  84,  73,  79,
	78,   0,  84,  69,  88,  67,
	79,  79,  82,  68,   0, 171,
	171, 171,  79,  83,  71,  78,
	44,   0,   0,   0,   1,   0,
	0,   0,   8,   0,   0,   0,
	32,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	3,   0,   0,   0,   0,   0,
	0,   0,  15,   0,   0,   0,
	83,  86,  95,  84,  65,  82,
	71,  69,  84,   0, 171, 171,
	83,  72,  69,  88,  60,   0,
	0,   0,  80,   0,   0,   0,
	15,   0,   0,   0, 106,   8,
	0,   1,  98,  16,   0,   3,
	242,  16,  16,   0,   1,   0,
	0,   0, 101,   0,   0,   3,
	242,  32,  16,   0,   0,   0,
	0,   0,  54,   0,   0,   5,
	242,  32,  16,   0,   0,   0,
	0,   0,  70,  30,  16,   0,
	1,   0,   0,   0,  62,   0,
	0,   1,  83,  84,  65,  84,
	148,   0,   0,   0,   2,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   2,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   1,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   1,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0
};
/************************************************************************/
/************************************************************************/
/*
struct VsIn
{
	float2 position : Position;
	float2 texcoord : Texcoord;
};

struct VsOut
{
	float4 position : SV_POSITION;
	float2 texcoord : TEXCOORD0;
};

cbuffer uRootConstants : register(b0)
{
	float4 color;
	float2 scaleBias;
};

VsOut main(VsIn input)
{
	VsOut output = (VsOut)0;
	output.position = float4(input.position.xy * scaleBias.xy + float2(-1.0f, 1.0f), 0.0f, 1.0f);
	output.texcoord = input.texcoord;
	
	return output;
};
*/
static const uint8_t d3d12_builtin_textured_vert[] =
{
	68,  88,  66,  67,  30, 113,
	42, 230, 142, 118, 100,  70,
	1, 115,   6,  52,   4, 207,
	121, 208,   1,   0,   0,   0,
	176,   3,   0,   0,   5,   0,
	0,   0,  52,   0,   0,   0,
	164,   1,   0,   0, 248,   1,
	0,   0,  80,   2,   0,   0,
	20,   3,   0,   0,  82,  68,
	69,  70, 104,   1,   0,   0,
	1,   0,   0,   0, 108,   0,
	0,   0,   1,   0,   0,   0,
	60,   0,   0,   0,   0,   5,
	254, 255,   0, 129,  32,   0,
	64,   1,   0,   0,  82,  68,
	49,  49,  60,   0,   0,   0,
	24,   0,   0,   0,  32,   0,
	0,   0,  40,   0,   0,   0,
	36,   0,   0,   0,  12,   0,
	0,   0,   0,   0,   0,   0,
	92,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	1,   0,   0,   0,   1,   0,
	0,   0, 117,  82, 111, 111,
	116,  67, 111, 110, 115, 116,
	97, 110, 116, 115,   0, 171,
	92,   0,   0,   0,   2,   0,
	0,   0, 132,   0,   0,   0,
	32,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	212,   0,   0,   0,   0,   0,
	0,   0,  16,   0,   0,   0,
	0,   0,   0,   0, 228,   0,
	0,   0,   0,   0,   0,   0,
	255, 255, 255, 255,   0,   0,
	0,   0, 255, 255, 255, 255,
	0,   0,   0,   0,   8,   1,
	0,   0,  16,   0,   0,   0,
	8,   0,   0,   0,   2,   0,
	0,   0,  28,   1,   0,   0,
	0,   0,   0,   0, 255, 255,
	255, 255,   0,   0,   0,   0,
	255, 255, 255, 255,   0,   0,
	0,   0,  99, 111, 108, 111,
	114,   0, 102, 108, 111,  97,
	116,  52,   0, 171, 171, 171,
	1,   0,   3,   0,   1,   0,
	4,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0, 218,   0,   0,   0,
	115,  99,  97, 108, 101,  66,
	105,  97, 115,   0, 102, 108,
	111,  97, 116,  50,   0, 171,
	171, 171,   1,   0,   3,   0,
	1,   0,   2,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,  18,   1,
	0,   0,  77, 105,  99, 114,
	111, 115, 111, 102, 116,  32,
	40,  82,  41,  32,  72,  76,
	83,  76,  32,  83, 104,  97,
	100, 101, 114,  32,  67, 111,
	109, 112, 105, 108, 101, 114,
	32,  49,  48,  46,  49,   0,
	73,  83,  71,  78,  76,   0,
	0,   0,   2,   0,   0,   0,
	8,   0,   0,   0,  56,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   3,   0,
	0,   0,   0,   0,   0,   0,
	3,   3,   0,   0,  65,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   3,   0,
	0,   0,   1,   0,   0,   0,
	3,   3,   0,   0,  80, 111,
	115, 105, 116, 105, 111, 110,
	0,  84, 101, 120,  99, 111,
	111, 114, 100,   0, 171, 171,
	79,  83,  71,  78,  80,   0,
	0,   0,   2,   0,   0,   0,
	8,   0,   0,   0,  56,   0,
	0,   0,   0,   0,   0,   0,
	1,   0,   0,   0,   3,   0,
	0,   0,   0,   0,   0,   0,
	15,   0,   0,   0,  68,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   3,   0,
	0,   0,   1,   0,   0,   0,
	3,  12,   0,   0,  83,  86,
	95,  80,  79,  83,  73,  84,
	73,  79,  78,   0,  84,  69,
	88,  67,  79,  79,  82,  68,
	0, 171, 171, 171,  83,  72,
	69,  88, 188,   0,   0,   0,
	80,   0,   1,   0,  47,   0,
	0,   0, 106,   8,   0,   1,
	89,   0,   0,   4,  70, 142,
	32,   0,   0,   0,   0,   0,
	2,   0,   0,   0,  95,   0,
	0,   3,  50,  16,  16,   0,
	0,   0,   0,   0,  95,   0,
	0,   3,  50,  16,  16,   0,
	1,   0,   0,   0, 103,   0,
	0,   4, 242,  32,  16,   0,
	0,   0,   0,   0,   1,   0,
	0,   0, 101,   0,   0,   3,
	50,  32,  16,   0,   1,   0,
	0,   0,  50,   0,   0,  13,
	50,  32,  16,   0,   0,   0,
	0,   0,  70,  16,  16,   0,
	0,   0,   0,   0,  70, 128,
	32,   0,   0,   0,   0,   0,
	1,   0,   0,   0,   2,  64,
	0,   0,   0,   0, 128, 191,
	0,   0, 128,  63,   0,   0,
	0,   0,   0,   0,   0,   0,
	54,   0,   0,   8, 194,  32,
	16,   0,   0,   0,   0,   0,
	2,  64,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	128,  63,  54,   0,   0,   5,
	50,  32,  16,   0,   1,   0,
	0,   0,  70,  16,  16,   0,
	1,   0,   0,   0,  62,   0,
	0,   1,  83,  84,  65,  84,
	148,   0,   0,   0,   4,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   4,   0,
	0,   0,   1,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   1,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   2,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0
};
/*
struct PsIn
{
	float4 position : SV_POSITION;
	float2 texcoord : TEXCOORD0;
};

cbuffer uRootConstants : register(b0)
{
	float4 color;
	float2 scaleBias;
};

Texture2D uTex : register(t1);
SamplerState uSampler : register(s2);

float4 main(PsIn input) : SV_TARGET0
{
	return uTex.Sample(uSampler, input.texcoord) * color;
};
*/
const uint8_t d3d12_builtin_textured_frag[] =
{
	68,  88,  66,  67,   8,  86,
	8,  57, 250, 213, 184, 175,
	218,  11, 210, 111,  66, 193,
	28,  50,   1,   0,   0,   0,
	204,   3,   0,   0,   5,   0,
	0,   0,  52,   0,   0,   0,
	244,   1,   0,   0,  76,   2,
	0,   0, 128,   2,   0,   0,
	48,   3,   0,   0,  82,  68,
	69,  70, 184,   1,   0,   0,
	1,   0,   0,   0, 188,   0,
	0,   0,   3,   0,   0,   0,
	60,   0,   0,   0,   0,   5,
	255, 255,   0, 129,  32,   0,
	144,   1,   0,   0,  82,  68,
	49,  49,  60,   0,   0,   0,
	24,   0,   0,   0,  32,   0,
	0,   0,  40,   0,   0,   0,
	36,   0,   0,   0,  12,   0,
	0,   0,   0,   0,   0,   0,
	156,   0,   0,   0,   3,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   2,   0,   0,   0,
	1,   0,   0,   0,   1,   0,
	0,   0, 165,   0,   0,   0,
	2,   0,   0,   0,   5,   0,
	0,   0,   4,   0,   0,   0,
	255, 255, 255, 255,   1,   0,
	0,   0,   1,   0,   0,   0,
	13,   0,   0,   0, 170,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   1,   0,
	0,   0,   1,   0,   0,   0,
	117,  83,  97, 109, 112, 108,
	101, 114,   0, 117,  84, 101,
	120,   0, 117,  82, 111, 111,
	116,  67, 111, 110, 115, 116,
	97, 110, 116, 115,   0, 171,
	171, 171, 170,   0,   0,   0,
	2,   0,   0,   0, 212,   0,
	0,   0,  32,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,  36,   1,   0,   0,
	0,   0,   0,   0,  16,   0,
	0,   0,   2,   0,   0,   0,
	52,   1,   0,   0,   0,   0,
	0,   0, 255, 255, 255, 255,
	0,   0,   0,   0, 255, 255,
	255, 255,   0,   0,   0,   0,
	88,   1,   0,   0,  16,   0,
	0,   0,   8,   0,   0,   0,
	0,   0,   0,   0, 108,   1,
	0,   0,   0,   0,   0,   0,
	255, 255, 255, 255,   0,   0,
	0,   0, 255, 255, 255, 255,
	0,   0,   0,   0,  99, 111,
	108, 111, 114,   0, 102, 108,
	111,  97, 116,  52,   0, 171,
	171, 171,   1,   0,   3,   0,
	1,   0,   4,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,  42,   1,
	0,   0, 115,  99,  97, 108,
	101,  66, 105,  97, 115,   0,
	102, 108, 111,  97, 116,  50,
	0, 171, 171, 171,   1,   0,
	3,   0,   1,   0,   2,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	98,   1,   0,   0,  77, 105,
	99, 114, 111, 115, 111, 102,
	116,  32,  40,  82,  41,  32,
	72,  76,  83,  76,  32,  83,
	104,  97, 100, 101, 114,  32,
	67, 111, 109, 112, 105, 108,
	101, 114,  32,  49,  48,  46,
	49,   0,  73,  83,  71,  78,
	80,   0,   0,   0,   2,   0,
	0,   0,   8,   0,   0,   0,
	56,   0,   0,   0,   0,   0,
	0,   0,   1,   0,   0,   0,
	3,   0,   0,   0,   0,   0,
	0,   0,  15,   0,   0,   0,
	68,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	3,   0,   0,   0,   1,   0,
	0,   0,   3,   3,   0,   0,
	83,  86,  95,  80,  79,  83,
	73,  84,  73,  79,  78,   0,
	84,  69,  88,  67,  79,  79,
	82,  68,   0, 171, 171, 171,
	79,  83,  71,  78,  44,   0,
	0,   0,   1,   0,   0,   0,
	8,   0,   0,   0,  32,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   3,   0,
	0,   0,   0,   0,   0,   0,
	15,   0,   0,   0,  83,  86,
	95,  84,  65,  82,  71,  69,
	84,   0, 171, 171,  83,  72,
	69,  88, 168,   0,   0,   0,
	80,   0,   0,   0,  42,   0,
	0,   0, 106,   8,   0,   1,
	89,   0,   0,   4,  70, 142,
	32,   0,   0,   0,   0,   0,
	1,   0,   0,   0,  90,   0,
	0,   3,   0,  96,  16,   0,
	2,   0,   0,   0,  88,  24,
	0,   4,   0, 112,  16,   0,
	1,   0,   0,   0,  85,  85,
	0,   0,  98,  16,   0,   3,
	50,  16,  16,   0,   1,   0,
	0,   0, 101,   0,   0,   3,
	242,  32,  16,   0,   0,   0,
	0,   0, 104,   0,   0,   2,
	1,   0,   0,   0,  69,   0,
	0, 139, 194,   0,   0, 128,
	67,  85,  21,   0, 242,   0,
	16,   0,   0,   0,   0,   0,
	70,  16,  16,   0,   1,   0,
	0,   0,  70, 126,  16,   0,
	1,   0,   0,   0,   0,  96,
	16,   0,   2,   0,   0,   0,
	56,   0,   0,   8, 242,  32,
	16,   0,   0,   0,   0,   0,
	70,  14,  16,   0,   0,   0,
	0,   0,  70, 142,  32,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,  62,   0,   0,   1,
	83,  84,  65,  84, 148,   0,
	0,   0,   3,   0,   0,   0,
	1,   0,   0,   0,   0,   0,
	0,   0,   2,   0,   0,   0,
	1,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	1,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   1,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0,
	0,   0,   0,   0,   0,   0
};
/*
cbuffer uniformBlockVS : register(b0)
{
	float4x4 ProjectionMatrix;
};
struct VS_INPUT
{
	float2 pos : POSITION;
	float2 uv : TEXCOORD0;
	float4 col : COLOR0;
};

struct PS_INPUT
{
	float4 pos : SV_POSITION;
	float4 col : COLOR0;
	float2 uv : TEXCOORD0;
};

PS_INPUT main(VS_INPUT input)
{
	PS_INPUT output;
	output.pos = mul(ProjectionMatrix, float4(input.pos.xy, 0.f, 1.f));
	output.col = input.col;
	output.uv = input.uv;
	return output;
}
*/
const uint8_t d3d12_builtin_textured_imgui_vert[] =
{
	 68,  88,  66,  67, 173,  53,
	108, 238, 143, 114,  26, 189,
	 18, 255, 103,   9, 182, 245,
	206,  31,   1,   0,   0,   0,
	220,   3,   0,   0,   5,   0,
	  0,   0,  52,   0,   0,   0,
	 80,   1,   0,   0, 192,   1,
	  0,   0,  52,   2,   0,   0,
	 64,   3,   0,   0,  82,  68,
	 69,  70,  20,   1,   0,   0,
	  1,   0,   0,   0, 108,   0,
	  0,   0,   1,   0,   0,   0,
	 60,   0,   0,   0,   0,   5,
	254, 255,   0, 129,  32,   0,
	236,   0,   0,   0,  82,  68,
	 49,  49,  60,   0,   0,   0,
	 24,   0,   0,   0,  32,   0,
	  0,   0,  40,   0,   0,   0,
	 36,   0,   0,   0,  12,   0,
	  0,   0,   0,   0,   0,   0,
	 92,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  1,   0,   0,   0,   1,   0,
	  0,   0, 117, 110, 105, 102,
	111, 114, 109,  66, 108, 111,
	 99, 107,  86,  83,   0, 171,
	 92,   0,   0,   0,   1,   0,
	  0,   0, 132,   0,   0,   0,
	 64,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	172,   0,   0,   0,   0,   0,
	  0,   0,  64,   0,   0,   0,
	  2,   0,   0,   0, 200,   0,
	  0,   0,   0,   0,   0,   0,
	255, 255, 255, 255,   0,   0,
	  0,   0, 255, 255, 255, 255,
	  0,   0,   0,   0,  80, 114,
	111, 106, 101,  99, 116, 105,
	111, 110,  77,  97, 116, 114,
	105, 120,   0, 102, 108, 111,
	 97, 116,  52, 120,  52,   0,
	171, 171,   3,   0,   3,   0,
	  4,   0,   4,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0, 189,   0,
	  0,   0,  77, 105,  99, 114,
	111, 115, 111, 102, 116,  32,
	 40,  82,  41,  32,  72,  76,
	 83,  76,  32,  83, 104,  97,
	100, 101, 114,  32,  67, 111,
	109, 112, 105, 108, 101, 114,
	 32,  49,  48,  46,  49,   0,
	 73,  83,  71,  78, 104,   0,
	  0,   0,   3,   0,   0,   0,
	  8,   0,   0,   0,  80,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   3,   0,
	  0,   0,   0,   0,   0,   0,
	  3,   3,   0,   0,  89,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   3,   0,
	  0,   0,   1,   0,   0,   0,
	  3,   3,   0,   0,  98,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   3,   0,
	  0,   0,   2,   0,   0,   0,
	 15,  15,   0,   0,  80,  79,
	 83,  73,  84,  73,  79,  78,
	  0,  84,  69,  88,  67,  79,
	 79,  82,  68,   0,  67,  79,
	 76,  79,  82,   0,  79,  83,
	 71,  78, 108,   0,   0,   0,
	  3,   0,   0,   0,   8,   0,
	  0,   0,  80,   0,   0,   0,
	  0,   0,   0,   0,   1,   0,
	  0,   0,   3,   0,   0,   0,
	  0,   0,   0,   0,  15,   0,
	  0,   0,  92,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   3,   0,   0,   0,
	  1,   0,   0,   0,  15,   0,
	  0,   0,  98,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   3,   0,   0,   0,
	  2,   0,   0,   0,   3,  12,
	  0,   0,  83,  86,  95,  80,
	 79,  83,  73,  84,  73,  79,
	 78,   0,  67,  79,  76,  79,
	 82,   0,  84,  69,  88,  67,
	 79,  79,  82,  68,   0, 171,
	 83,  72,  69,  88,   4,   1,
	  0,   0,  80,   0,   1,   0,
	 65,   0,   0,   0, 106,   8,
	  0,   1,  89,   0,   0,   4,
	 70, 142,  32,   0,   0,   0,
	  0,   0,   4,   0,   0,   0,
	 95,   0,   0,   3,  50,  16,
	 16,   0,   0,   0,   0,   0,
	 95,   0,   0,   3,  50,  16,
	 16,   0,   1,   0,   0,   0,
	 95,   0,   0,   3, 242,  16,
	 16,   0,   2,   0,   0,   0,
	103,   0,   0,   4, 242,  32,
	 16,   0,   0,   0,   0,   0,
	  1,   0,   0,   0, 101,   0,
	  0,   3, 242,  32,  16,   0,
	  1,   0,   0,   0, 101,   0,
	  0,   3,  50,  32,  16,   0,
	  2,   0,   0,   0, 104,   0,
	  0,   2,   1,   0,   0,   0,
	 56,   0,   0,   8, 242,   0,
	 16,   0,   0,   0,   0,   0,
	 86,  21,  16,   0,   0,   0,
	  0,   0,  70, 142,  32,   0,
	  0,   0,   0,   0,   1,   0,
	  0,   0,  50,   0,   0,  10,
	242,   0,  16,   0,   0,   0,
	  0,   0,  70, 142,  32,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   6,  16,  16,   0,
	  0,   0,   0,   0,  70,  14,
	 16,   0,   0,   0,   0,   0,
	  0,   0,   0,   8, 242,  32,
	 16,   0,   0,   0,   0,   0,
	 70,  14,  16,   0,   0,   0,
	  0,   0,  70, 142,  32,   0,
	  0,   0,   0,   0,   3,   0,
	  0,   0,  54,   0,   0,   5,
	242,  32,  16,   0,   1,   0,
	  0,   0,  70,  30,  16,   0,
	  2,   0,   0,   0,  54,   0,
	  0,   5,  50,  32,  16,   0,
	  2,   0,   0,   0,  70,  16,
	 16,   0,   1,   0,   0,   0,
	 62,   0,   0,   1,  83,  84,
	 65,  84, 148,   0,   0,   0,
	  6,   0,   0,   0,   1,   0,
	  0,   0,   0,   0,   0,   0,
	  6,   0,   0,   0,   3,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   1,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   2,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0
};
/*
struct PS_INPUT
{
	float4 pos : SV_POSITION;
	float4 col : COLOR0;
	float2 uv : TEXCOORD0;
};

Texture2D uTex : register(t1);
SamplerState uSampler : register(s2);

float4 main(PS_INPUT input) : SV_Target
{
	float4 out_col = input.col * uTex.Sample(uSampler, input.uv);
	return out_col;
}
*/
const uint8_t d3d12_builtin_textured_imgui_frag[] =
{
	 68,  88,  66,  67,  86,  64,
	114, 126, 225,  95, 231, 212,
	249,  30, 236, 145, 188, 198,
	132,  16,   1,   0,   0,   0,
	220,   2,   0,   0,   5,   0,
	  0,   0,  52,   0,   0,   0,
	240,   0,   0,   0, 100,   1,
	  0,   0, 152,   1,   0,   0,
	 64,   2,   0,   0,  82,  68,
	 69,  70, 180,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   2,   0,   0,   0,
	 60,   0,   0,   0,   0,   5,
	255, 255,   0, 129,  32,   0,
	138,   0,   0,   0,  82,  68,
	 49,  49,  60,   0,   0,   0,
	 24,   0,   0,   0,  32,   0,
	  0,   0,  40,   0,   0,   0,
	 36,   0,   0,   0,  12,   0,
	  0,   0,   0,   0,   0,   0,
	124,   0,   0,   0,   3,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   2,   0,   0,   0,
	  1,   0,   0,   0,   1,   0,
	  0,   0, 133,   0,   0,   0,
	  2,   0,   0,   0,   5,   0,
	  0,   0,   4,   0,   0,   0,
	255, 255, 255, 255,   1,   0,
	  0,   0,   1,   0,   0,   0,
	 13,   0,   0,   0, 117,  83,
	 97, 109, 112, 108, 101, 114,
	  0, 117,  84, 101, 120,   0,
	 77, 105,  99, 114, 111, 115,
	111, 102, 116,  32,  40,  82,
	 41,  32,  72,  76,  83,  76,
	 32,  83, 104,  97, 100, 101,
	114,  32,  67, 111, 109, 112,
	105, 108, 101, 114,  32,  49,
	 48,  46,  49,   0, 171, 171,
	 73,  83,  71,  78, 108,   0,
	  0,   0,   3,   0,   0,   0,
	  8,   0,   0,   0,  80,   0,
	  0,   0,   0,   0,   0,   0,
	  1,   0,   0,   0,   3,   0,
	  0,   0,   0,   0,   0,   0,
	 15,   0,   0,   0,  92,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   3,   0,
	  0,   0,   1,   0,   0,   0,
	 15,  15,   0,   0,  98,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   3,   0,
	  0,   0,   2,   0,   0,   0,
	  3,   3,   0,   0,  83,  86,
	 95,  80,  79,  83,  73,  84,
	 73,  79,  78,   0,  67,  79,
	 76,  79,  82,   0,  84,  69,
	 88,  67,  79,  79,  82,  68,
	  0, 171,  79,  83,  71,  78,
	 44,   0,   0,   0,   1,   0,
	  0,   0,   8,   0,   0,   0,
	 32,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  3,   0,   0,   0,   0,   0,
	  0,   0,  15,   0,   0,   0,
	 83,  86,  95,  84,  97, 114,
	103, 101, 116,   0, 171, 171,
	 83,  72,  69,  88, 160,   0,
	  0,   0,  80,   0,   0,   0,
	 40,   0,   0,   0, 106,   8,
	  0,   1,  90,   0,   0,   3,
	  0,  96,  16,   0,   2,   0,
	  0,   0,  88,  24,   0,   4,
	  0, 112,  16,   0,   1,   0,
	  0,   0,  85,  85,   0,   0,
	 98,  16,   0,   3, 242,  16,
	 16,   0,   1,   0,   0,   0,
	 98,  16,   0,   3,  50,  16,
	 16,   0,   2,   0,   0,   0,
	101,   0,   0,   3, 242,  32,
	 16,   0,   0,   0,   0,   0,
	104,   0,   0,   2,   1,   0,
	  0,   0,  69,   0,   0, 139,
	194,   0,   0, 128,  67,  85,
	 21,   0, 242,   0,  16,   0,
	  0,   0,   0,   0,  70,  16,
	 16,   0,   2,   0,   0,   0,
	 70, 126,  16,   0,   1,   0,
	  0,   0,   0,  96,  16,   0,
	  2,   0,   0,   0,  56,   0,
	  0,   7, 242,  32,  16,   0,
	  0,   0,   0,   0,  70,  14,
	 16,   0,   0,   0,   0,   0,
	 70,  30,  16,   0,   1,   0,
	  0,   0,  62,   0,   0,   1,
	 83,  84,  65,  84, 148,   0,
	  0,   0,   3,   0,   0,   0,
	  1,   0,   0,   0,   0,   0,
	  0,   0,   3,   0,   0,   0,
	  1,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  1,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   1,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0,
	  0,   0,   0,   0,   0,   0
};
/************************************************************************/
/************************************************************************/
/*
#version 450

layout(push_constant, std430) uniform type_PushConstant_RootConstants
{
	vec4 color;
	vec2 scaleBias;
} uRootConstants;

layout(location = 0) in vec2 in_var_Position;

void main()
{
	gl_Position = vec4((in_var_Position * uRootConstants.scaleBias) + vec2(-1.0, 1.0), 0.0, 1.0);
}
*/
// 7.7.2767
#pragma once
static const uint32_t vk_builtin_plain_vert[] = {
	0x07230203,0x00010000,0x00080007,0x00000026,0x00000000,0x00020011,0x00000001,0x0006000b,
	0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
	0x0007000f,0x00000000,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000012,0x00030003,
	0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00060005,0x0000000b,
	0x505f6c67,0x65567265,0x78657472,0x00000000,0x00060006,0x0000000b,0x00000000,0x505f6c67,
	0x7469736f,0x006e6f69,0x00070006,0x0000000b,0x00000001,0x505f6c67,0x746e696f,0x657a6953,
	0x00000000,0x00070006,0x0000000b,0x00000002,0x435f6c67,0x4470696c,0x61747369,0x0065636e,
	0x00070006,0x0000000b,0x00000003,0x435f6c67,0x446c6c75,0x61747369,0x0065636e,0x00030005,
	0x0000000d,0x00000000,0x00060005,0x00000012,0x765f6e69,0x505f7261,0x7469736f,0x006e6f69,
	0x000a0005,0x00000014,0x65707974,0x7375505f,0x6e6f4368,0x6e617473,0x6f525f74,0x6f43746f,
	0x6174736e,0x0073746e,0x00050006,0x00000014,0x00000000,0x6f6c6f63,0x00000072,0x00060006,
	0x00000014,0x00000001,0x6c616373,0x61694265,0x00000073,0x00060005,0x00000016,0x6f6f5275,
	0x6e6f4374,0x6e617473,0x00007374,0x00050048,0x0000000b,0x00000000,0x0000000b,0x00000000,
	0x00050048,0x0000000b,0x00000001,0x0000000b,0x00000001,0x00050048,0x0000000b,0x00000002,
	0x0000000b,0x00000003,0x00050048,0x0000000b,0x00000003,0x0000000b,0x00000004,0x00030047,
	0x0000000b,0x00000002,0x00040047,0x00000012,0x0000001e,0x00000000,0x00050048,0x00000014,
	0x00000000,0x00000023,0x00000000,0x00050048,0x00000014,0x00000001,0x00000023,0x00000010,
	0x00030047,0x00000014,0x00000002,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
	0x00030016,0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000004,0x00040015,
	0x00000008,0x00000020,0x00000000,0x0004002b,0x00000008,0x00000009,0x00000001,0x0004001c,
	0x0000000a,0x00000006,0x00000009,0x0006001e,0x0000000b,0x00000007,0x00000006,0x0000000a,
	0x0000000a,0x00040020,0x0000000c,0x00000003,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
	0x00000003,0x00040015,0x0000000e,0x00000020,0x00000001,0x0004002b,0x0000000e,0x0000000f,
	0x00000000,0x00040017,0x00000010,0x00000006,0x00000002,0x00040020,0x00000011,0x00000001,
	0x00000010,0x0004003b,0x00000011,0x00000012,0x00000001,0x0004001e,0x00000014,0x00000007,
	0x00000010,0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,
	0x00000009,0x0004002b,0x0000000e,0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,
	0x00000010,0x0004002b,0x00000006,0x0000001c,0xbf800000,0x0004002b,0x00000006,0x0000001d,
	0x3f800000,0x0005002c,0x00000010,0x0000001e,0x0000001c,0x0000001d,0x0004002b,0x00000006,
	0x00000020,0x00000000,0x00040020,0x00000024,0x00000003,0x00000007,0x00050036,0x00000002,
	0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x00000010,0x00000013,
	0x00000012,0x00050041,0x00000018,0x00000019,0x00000016,0x00000017,0x0004003d,0x00000010,
	0x0000001a,0x00000019,0x00050085,0x00000010,0x0000001b,0x00000013,0x0000001a,0x00050081,
	0x00000010,0x0000001f,0x0000001b,0x0000001e,0x00050051,0x00000006,0x00000021,0x0000001f,
	0x00000000,0x00050051,0x00000006,0x00000022,0x0000001f,0x00000001,0x00070050,0x00000007,
	0x00000023,0x00000021,0x00000022,0x00000020,0x0000001d,0x00050041,0x00000024,0x00000025,
	0x0000000d,0x0000000f,0x0003003e,0x00000025,0x00000023,0x000100fd,0x00010038
};

/*
#version 450

layout(push_constant, std430) uniform type_PushConstant_RootConstants
{
	vec4 color;
	vec2 scaleBias;
} uRootConstants;

layout(location = 0) out vec4 out_var_SV_TARGET0;

void main()
{
	out_var_SV_TARGET0 = uRootConstants.color;
}
*/
// 7.7.2767
#pragma once
static const uint32_t vk_builtin_plain_frag[] = {
	0x07230203,0x00010000,0x00080007,0x00000013,0x00000000,0x00020011,0x00000001,0x0006000b,
	0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
	0x0006000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00030010,0x00000004,
	0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
	0x00070005,0x00000009,0x5f74756f,0x5f726176,0x545f5653,0x45475241,0x00003054,0x000a0005,
	0x0000000b,0x65707974,0x7375505f,0x6e6f4368,0x6e617473,0x6f525f74,0x6f43746f,0x6174736e,
	0x0073746e,0x00050006,0x0000000b,0x00000000,0x6f6c6f63,0x00000072,0x00060006,0x0000000b,
	0x00000001,0x6c616373,0x61694265,0x00000073,0x00060005,0x0000000d,0x6f6f5275,0x6e6f4374,
	0x6e617473,0x00007374,0x00040047,0x00000009,0x0000001e,0x00000000,0x00050048,0x0000000b,
	0x00000000,0x00000023,0x00000000,0x00050048,0x0000000b,0x00000001,0x00000023,0x00000010,
	0x00030047,0x0000000b,0x00000002,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
	0x00030016,0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000004,0x00040020,
	0x00000008,0x00000003,0x00000007,0x0004003b,0x00000008,0x00000009,0x00000003,0x00040017,
	0x0000000a,0x00000006,0x00000002,0x0004001e,0x0000000b,0x00000007,0x0000000a,0x00040020,
	0x0000000c,0x00000009,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000009,0x00040015,
	0x0000000e,0x00000020,0x00000001,0x0004002b,0x0000000e,0x0000000f,0x00000000,0x00040020,
	0x00000010,0x00000009,0x00000007,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,
	0x000200f8,0x00000005,0x00050041,0x00000010,0x00000011,0x0000000d,0x0000000f,0x0004003d,
	0x00000007,0x00000012,0x00000011,0x0003003e,0x00000009,0x00000012,0x000100fd,0x00010038
};
/*
#version 450

layout(push_constant) uniform uRootConstantsBlock
{
	vec2 scaleBias;
} uRootConstants;

layout(location = 0) in vec2 iPosition;
layout(location = 1) in vec4 iColor;
layout(location = 0) out vec4 oColor;

void main()
{
	gl_Position = vec4(iPosition.xy * uRootConstants.scaleBias.xy + vec2(-1.0f, 1.0f), 0.0f, 1.0f);
	oColor = iColor;
}
*/
// 7.8.2833
#pragma once
static const uint32_t vk_builtin_plain_color_vert[] = {
	0x07230203,0x00010000,0x00080007,0x00000029,0x00000000,0x00020011,0x00000001,0x0006000b,
	0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
	0x0009000f,0x00000000,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000012,0x00000025,
	0x00000027,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
	0x00060005,0x0000000b,0x505f6c67,0x65567265,0x78657472,0x00000000,0x00060006,0x0000000b,
	0x00000000,0x505f6c67,0x7469736f,0x006e6f69,0x00070006,0x0000000b,0x00000001,0x505f6c67,
	0x746e696f,0x657a6953,0x00000000,0x00070006,0x0000000b,0x00000002,0x435f6c67,0x4470696c,
	0x61747369,0x0065636e,0x00070006,0x0000000b,0x00000003,0x435f6c67,0x446c6c75,0x61747369,
	0x0065636e,0x00030005,0x0000000d,0x00000000,0x00050005,0x00000012,0x736f5069,0x6f697469,
	0x0000006e,0x00070005,0x00000014,0x6f6f5275,0x6e6f4374,0x6e617473,0x6c427374,0x006b636f,
	0x00060006,0x00000014,0x00000000,0x6c616373,0x61694265,0x00000073,0x00060005,0x00000016,
	0x6f6f5275,0x6e6f4374,0x6e617473,0x00007374,0x00040005,0x00000025,0x6c6f436f,0x0000726f,
	0x00040005,0x00000027,0x6c6f4369,0x0000726f,0x00050048,0x0000000b,0x00000000,0x0000000b,
	0x00000000,0x00050048,0x0000000b,0x00000001,0x0000000b,0x00000001,0x00050048,0x0000000b,
	0x00000002,0x0000000b,0x00000003,0x00050048,0x0000000b,0x00000003,0x0000000b,0x00000004,
	0x00030047,0x0000000b,0x00000002,0x00040047,0x00000012,0x0000001e,0x00000000,0x00050048,
	0x00000014,0x00000000,0x00000023,0x00000000,0x00030047,0x00000014,0x00000002,0x00040047,
	0x00000025,0x0000001e,0x00000000,0x00040047,0x00000027,0x0000001e,0x00000001,0x00020013,
	0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017,
	0x00000007,0x00000006,0x00000004,0x00040015,0x00000008,0x00000020,0x00000000,0x0004002b,
	0x00000008,0x00000009,0x00000001,0x0004001c,0x0000000a,0x00000006,0x00000009,0x0006001e,
	0x0000000b,0x00000007,0x00000006,0x0000000a,0x0000000a,0x00040020,0x0000000c,0x00000003,
	0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000003,0x00040015,0x0000000e,0x00000020,
	0x00000001,0x0004002b,0x0000000e,0x0000000f,0x00000000,0x00040017,0x00000010,0x00000006,
	0x00000002,0x00040020,0x00000011,0x00000001,0x00000010,0x0004003b,0x00000011,0x00000012,
	0x00000001,0x0003001e,0x00000014,0x00000010,0x00040020,0x00000015,0x00000009,0x00000014,
	0x0004003b,0x00000015,0x00000016,0x00000009,0x00040020,0x00000017,0x00000009,0x00000010,
	0x0004002b,0x00000006,0x0000001b,0xbf800000,0x0004002b,0x00000006,0x0000001c,0x3f800000,
	0x0005002c,0x00000010,0x0000001d,0x0000001b,0x0000001c,0x0004002b,0x00000006,0x0000001f,
	0x00000000,0x00040020,0x00000023,0x00000003,0x00000007,0x0004003b,0x00000023,0x00000025,
	0x00000003,0x00040020,0x00000026,0x00000001,0x00000007,0x0004003b,0x00000026,0x00000027,
	0x00000001,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
	0x0004003d,0x00000010,0x00000013,0x00000012,0x00050041,0x00000017,0x00000018,0x00000016,
	0x0000000f,0x0004003d,0x00000010,0x00000019,0x00000018,0x00050085,0x00000010,0x0000001a,
	0x00000013,0x00000019,0x00050081,0x00000010,0x0000001e,0x0000001a,0x0000001d,0x00050051,
	0x00000006,0x00000020,0x0000001e,0x00000000,0x00050051,0x00000006,0x00000021,0x0000001e,
	0x00000001,0x00070050,0x00000007,0x00000022,0x00000020,0x00000021,0x0000001f,0x0000001c,
	0x00050041,0x00000023,0x00000024,0x0000000d,0x0000000f,0x0003003e,0x00000024,0x00000022,
	0x0004003d,0x00000007,0x00000028,0x00000027,0x0003003e,0x00000025,0x00000028,0x000100fd,
	0x00010038
};
/*
#version 450

layout(location = 0) in vec4 iColor;
layout(location = 0) out vec4 oColor;

void main()
{
	oColor = iColor;
}
*/
// 7.8.2833
#pragma once
static const uint32_t vk_builtin_plain_color_frag[] = {
	0x07230203,0x00010000,0x00080007,0x0000000d,0x00000000,0x00020011,0x00000001,0x0006000b,
	0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
	0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x0000000b,0x00030010,
	0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,
	0x00000000,0x00040005,0x00000009,0x6c6f436f,0x0000726f,0x00040005,0x0000000b,0x6c6f4369,
	0x0000726f,0x00040047,0x00000009,0x0000001e,0x00000000,0x00040047,0x0000000b,0x0000001e,
	0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,
	0x00000020,0x00040017,0x00000007,0x00000006,0x00000004,0x00040020,0x00000008,0x00000003,
	0x00000007,0x0004003b,0x00000008,0x00000009,0x00000003,0x00040020,0x0000000a,0x00000001,
	0x00000007,0x0004003b,0x0000000a,0x0000000b,0x00000001,0x00050036,0x00000002,0x00000004,
	0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x00000007,0x0000000c,0x0000000b,
	0x0003003e,0x00000009,0x0000000c,0x000100fd,0x00010038
};
/************************************************************************/
/************************************************************************/
/*
#version 450

layout(push_constant, std430) uniform type_PushConstant_RootConstants
{
	vec4 color;
	vec2 scaleBias;
} uRootConstants;

layout(location = 0) in vec2 in_var_Position;
layout(location = 1) in vec2 in_var_Texcoord;
layout(location = 0) out vec2 out_var_TEXCOORD0;

void main()
{
	gl_Position = vec4((in_var_Position * uRootConstants.scaleBias) + vec2(-1.0, 1.0), 0.0, 1.0);
	out_var_TEXCOORD0 = in_var_Texcoord;
}
*/
// 7.7.2767
#pragma once
const uint32_t vk_builtin_textured_vert[] = {
	0x07230203,0x00010000,0x00080007,0x0000002a,0x00000000,0x00020011,0x00000001,0x0006000b,
	0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
	0x0009000f,0x00000000,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000012,0x00000027,
	0x00000028,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
	0x00060005,0x0000000b,0x505f6c67,0x65567265,0x78657472,0x00000000,0x00060006,0x0000000b,
	0x00000000,0x505f6c67,0x7469736f,0x006e6f69,0x00070006,0x0000000b,0x00000001,0x505f6c67,
	0x746e696f,0x657a6953,0x00000000,0x00070006,0x0000000b,0x00000002,0x435f6c67,0x4470696c,
	0x61747369,0x0065636e,0x00070006,0x0000000b,0x00000003,0x435f6c67,0x446c6c75,0x61747369,
	0x0065636e,0x00030005,0x0000000d,0x00000000,0x00060005,0x00000012,0x765f6e69,0x505f7261,
	0x7469736f,0x006e6f69,0x000a0005,0x00000014,0x65707974,0x7375505f,0x6e6f4368,0x6e617473,
	0x6f525f74,0x6f43746f,0x6174736e,0x0073746e,0x00050006,0x00000014,0x00000000,0x6f6c6f63,
	0x00000072,0x00060006,0x00000014,0x00000001,0x6c616373,0x61694265,0x00000073,0x00060005,
	0x00000016,0x6f6f5275,0x6e6f4374,0x6e617473,0x00007374,0x00070005,0x00000027,0x5f74756f,
	0x5f726176,0x43584554,0x44524f4f,0x00000030,0x00060005,0x00000028,0x765f6e69,0x545f7261,
	0x6f637865,0x0064726f,0x00050048,0x0000000b,0x00000000,0x0000000b,0x00000000,0x00050048,
	0x0000000b,0x00000001,0x0000000b,0x00000001,0x00050048,0x0000000b,0x00000002,0x0000000b,
	0x00000003,0x00050048,0x0000000b,0x00000003,0x0000000b,0x00000004,0x00030047,0x0000000b,
	0x00000002,0x00040047,0x00000012,0x0000001e,0x00000000,0x00050048,0x00000014,0x00000000,
	0x00000023,0x00000000,0x00050048,0x00000014,0x00000001,0x00000023,0x00000010,0x00030047,
	0x00000014,0x00000002,0x00040047,0x00000027,0x0000001e,0x00000000,0x00040047,0x00000028,
	0x0000001e,0x00000001,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,
	0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000004,0x00040015,0x00000008,
	0x00000020,0x00000000,0x0004002b,0x00000008,0x00000009,0x00000001,0x0004001c,0x0000000a,
	0x00000006,0x00000009,0x0006001e,0x0000000b,0x00000007,0x00000006,0x0000000a,0x0000000a,
	0x00040020,0x0000000c,0x00000003,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000003,
	0x00040015,0x0000000e,0x00000020,0x00000001,0x0004002b,0x0000000e,0x0000000f,0x00000000,
	0x00040017,0x00000010,0x00000006,0x00000002,0x00040020,0x00000011,0x00000001,0x00000010,
	0x0004003b,0x00000011,0x00000012,0x00000001,0x0004001e,0x00000014,0x00000007,0x00000010,
	0x00040020,0x00000015,0x00000009,0x00000014,0x0004003b,0x00000015,0x00000016,0x00000009,
	0x0004002b,0x0000000e,0x00000017,0x00000001,0x00040020,0x00000018,0x00000009,0x00000010,
	0x0004002b,0x00000006,0x0000001c,0xbf800000,0x0004002b,0x00000006,0x0000001d,0x3f800000,
	0x0005002c,0x00000010,0x0000001e,0x0000001c,0x0000001d,0x0004002b,0x00000006,0x00000020,
	0x00000000,0x00040020,0x00000024,0x00000003,0x00000007,0x00040020,0x00000026,0x00000003,
	0x00000010,0x0004003b,0x00000026,0x00000027,0x00000003,0x0004003b,0x00000011,0x00000028,
	0x00000001,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
	0x0004003d,0x00000010,0x00000013,0x00000012,0x00050041,0x00000018,0x00000019,0x00000016,
	0x00000017,0x0004003d,0x00000010,0x0000001a,0x00000019,0x00050085,0x00000010,0x0000001b,
	0x00000013,0x0000001a,0x00050081,0x00000010,0x0000001f,0x0000001b,0x0000001e,0x00050051,
	0x00000006,0x00000021,0x0000001f,0x00000000,0x00050051,0x00000006,0x00000022,0x0000001f,
	0x00000001,0x00070050,0x00000007,0x00000023,0x00000021,0x00000022,0x00000020,0x0000001d,
	0x00050041,0x00000024,0x00000025,0x0000000d,0x0000000f,0x0003003e,0x00000025,0x00000023,
	0x0004003d,0x00000010,0x00000029,0x00000028,0x0003003e,0x00000027,0x00000029,0x000100fd,
	0x00010038
};

/*
#version 450

layout(push_constant, std430) uniform type_PushConstant_RootConstants
{
	vec4 color;
	vec2 scaleBias;
} uRootConstants;

layout(set = 0, binding = 1) uniform texture2D uTex;
layout(set = 0, binding = 2) uniform sampler uSampler;

layout(location = 0) in vec2 in_var_TEXCOORD0;
layout(location = 0) out vec4 out_var_SV_TARGET0;

void main()
{
	out_var_SV_TARGET0 = texture(sampler2D(uTex, uSampler), in_var_TEXCOORD0) * uRootConstants.color;
}
*/
// 7.7.2767
#pragma once
const uint32_t vk_builtin_textured_frag[] = {
	0x07230203,0x00010000,0x00080007,0x00000022,0x00000000,0x00020011,0x00000001,0x0006000b,
	0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
	0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x00000016,0x00030010,
	0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,
	0x00000000,0x00070005,0x00000009,0x5f74756f,0x5f726176,0x545f5653,0x45475241,0x00003054,
	0x00040005,0x0000000c,0x78655475,0x00000000,0x00050005,0x00000010,0x6d615375,0x72656c70,
	0x00000000,0x00070005,0x00000016,0x765f6e69,0x545f7261,0x4f435845,0x3044524f,0x00000000,
	0x000a0005,0x00000019,0x65707974,0x7375505f,0x6e6f4368,0x6e617473,0x6f525f74,0x6f43746f,
	0x6174736e,0x0073746e,0x00050006,0x00000019,0x00000000,0x6f6c6f63,0x00000072,0x00060006,
	0x00000019,0x00000001,0x6c616373,0x61694265,0x00000073,0x00060005,0x0000001b,0x6f6f5275,
	0x6e6f4374,0x6e617473,0x00007374,0x00040047,0x00000009,0x0000001e,0x00000000,0x00040047,
	0x0000000c,0x00000022,0x00000000,0x00040047,0x0000000c,0x00000021,0x00000001,0x00040047,
	0x00000010,0x00000022,0x00000000,0x00040047,0x00000010,0x00000021,0x00000002,0x00040047,
	0x00000016,0x0000001e,0x00000000,0x00050048,0x00000019,0x00000000,0x00000023,0x00000000,
	0x00050048,0x00000019,0x00000001,0x00000023,0x00000010,0x00030047,0x00000019,0x00000002,
	0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,
	0x00040017,0x00000007,0x00000006,0x00000004,0x00040020,0x00000008,0x00000003,0x00000007,
	0x0004003b,0x00000008,0x00000009,0x00000003,0x00090019,0x0000000a,0x00000006,0x00000001,
	0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x00040020,0x0000000b,0x00000000,
	0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000000,0x0002001a,0x0000000e,0x00040020,
	0x0000000f,0x00000000,0x0000000e,0x0004003b,0x0000000f,0x00000010,0x00000000,0x0003001b,
	0x00000012,0x0000000a,0x00040017,0x00000014,0x00000006,0x00000002,0x00040020,0x00000015,
	0x00000001,0x00000014,0x0004003b,0x00000015,0x00000016,0x00000001,0x0004001e,0x00000019,
	0x00000007,0x00000014,0x00040020,0x0000001a,0x00000009,0x00000019,0x0004003b,0x0000001a,
	0x0000001b,0x00000009,0x00040015,0x0000001c,0x00000020,0x00000001,0x0004002b,0x0000001c,
	0x0000001d,0x00000000,0x00040020,0x0000001e,0x00000009,0x00000007,0x00050036,0x00000002,
	0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000a,0x0000000d,
	0x0000000c,0x0004003d,0x0000000e,0x00000011,0x00000010,0x00050056,0x00000012,0x00000013,
	0x0000000d,0x00000011,0x0004003d,0x00000014,0x00000017,0x00000016,0x00050057,0x00000007,
	0x00000018,0x00000013,0x00000017,0x00050041,0x0000001e,0x0000001f,0x0000001b,0x0000001d,
	0x0004003d,0x00000007,0x00000020,0x0000001f,0x00050085,0x00000007,0x00000021,0x00000018,
	0x00000020,0x0003003e,0x00000009,0x00000021,0x000100fd,0x00010038
};

/*
#version 450

layout(set = 0, binding = 0, std140) uniform type_uniformBlockVS
{
	layout(row_major) mat4 ProjectionMatrix;
} uniformBlockVS;

layout(location = 0) in vec2 in_var_POSITION;
layout(location = 1) in vec2 in_var_TEXCOORD0;
layout(location = 2) in vec4 in_var_COLOR0;
layout(location = 0) out vec4 out_var_COLOR0;
layout(location = 1) out vec2 out_var_TEXCOORD0;

void main()
{
	gl_Position = vec4(in_var_POSITION, 0.0, 1.0) * uniformBlockVS.ProjectionMatrix;
	out_var_COLOR0 = in_var_COLOR0;
	out_var_TEXCOORD0 = in_var_TEXCOORD0;
}
*/
// 7.8.2833
#pragma once
const uint32_t vk_builtin_textured_imgui_vert[] = {
	0x07230203,0x00010000,0x00080007,0x0000002b,0x00000000,0x00020011,0x00000001,0x0006000b,
	0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
	0x000b000f,0x00000000,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000012,0x00000023,
	0x00000025,0x00000028,0x00000029,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,
	0x6e69616d,0x00000000,0x00060005,0x0000000b,0x505f6c67,0x65567265,0x78657472,0x00000000,
	0x00060006,0x0000000b,0x00000000,0x505f6c67,0x7469736f,0x006e6f69,0x00070006,0x0000000b,
	0x00000001,0x505f6c67,0x746e696f,0x657a6953,0x00000000,0x00070006,0x0000000b,0x00000002,
	0x435f6c67,0x4470696c,0x61747369,0x0065636e,0x00070006,0x0000000b,0x00000003,0x435f6c67,
	0x446c6c75,0x61747369,0x0065636e,0x00030005,0x0000000d,0x00000000,0x00060005,0x00000012,
	0x765f6e69,0x505f7261,0x5449534f,0x004e4f49,0x00070005,0x0000001a,0x65707974,0x696e755f,
	0x6d726f66,0x636f6c42,0x0053566b,0x00080006,0x0000001a,0x00000000,0x6a6f7250,0x69746365,
	0x614d6e6f,0x78697274,0x00000000,0x00060005,0x0000001c,0x66696e75,0x426d726f,0x6b636f6c,
	0x00005356,0x00060005,0x00000023,0x5f74756f,0x5f726176,0x4f4c4f43,0x00003052,0x00060005,
	0x00000025,0x765f6e69,0x435f7261,0x524f4c4f,0x00000030,0x00070005,0x00000028,0x5f74756f,
	0x5f726176,0x43584554,0x44524f4f,0x00000030,0x00070005,0x00000029,0x765f6e69,0x545f7261,
	0x4f435845,0x3044524f,0x00000000,0x00050048,0x0000000b,0x00000000,0x0000000b,0x00000000,
	0x00050048,0x0000000b,0x00000001,0x0000000b,0x00000001,0x00050048,0x0000000b,0x00000002,
	0x0000000b,0x00000003,0x00050048,0x0000000b,0x00000003,0x0000000b,0x00000004,0x00030047,
	0x0000000b,0x00000002,0x00040047,0x00000012,0x0000001e,0x00000000,0x00040048,0x0000001a,
	0x00000000,0x00000004,0x00050048,0x0000001a,0x00000000,0x00000023,0x00000000,0x00050048,
	0x0000001a,0x00000000,0x00000007,0x00000010,0x00030047,0x0000001a,0x00000002,0x00040047,
	0x0000001c,0x00000022,0x00000000,0x00040047,0x0000001c,0x00000021,0x00000000,0x00040047,
	0x00000023,0x0000001e,0x00000000,0x00040047,0x00000025,0x0000001e,0x00000002,0x00040047,
	0x00000028,0x0000001e,0x00000001,0x00040047,0x00000029,0x0000001e,0x00000001,0x00020013,
	0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017,
	0x00000007,0x00000006,0x00000004,0x00040015,0x00000008,0x00000020,0x00000000,0x0004002b,
	0x00000008,0x00000009,0x00000001,0x0004001c,0x0000000a,0x00000006,0x00000009,0x0006001e,
	0x0000000b,0x00000007,0x00000006,0x0000000a,0x0000000a,0x00040020,0x0000000c,0x00000003,
	0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000003,0x00040015,0x0000000e,0x00000020,
	0x00000001,0x0004002b,0x0000000e,0x0000000f,0x00000000,0x00040017,0x00000010,0x00000006,
	0x00000002,0x00040020,0x00000011,0x00000001,0x00000010,0x0004003b,0x00000011,0x00000012,
	0x00000001,0x0004002b,0x00000006,0x00000014,0x00000000,0x0004002b,0x00000006,0x00000015,
	0x3f800000,0x00040018,0x00000019,0x00000007,0x00000004,0x0003001e,0x0000001a,0x00000019,
	0x00040020,0x0000001b,0x00000002,0x0000001a,0x0004003b,0x0000001b,0x0000001c,0x00000002,
	0x00040020,0x0000001d,0x00000002,0x00000019,0x00040020,0x00000021,0x00000003,0x00000007,
	0x0004003b,0x00000021,0x00000023,0x00000003,0x00040020,0x00000024,0x00000001,0x00000007,
	0x0004003b,0x00000024,0x00000025,0x00000001,0x00040020,0x00000027,0x00000003,0x00000010,
	0x0004003b,0x00000027,0x00000028,0x00000003,0x0004003b,0x00000011,0x00000029,0x00000001,
	0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,
	0x00000010,0x00000013,0x00000012,0x00050051,0x00000006,0x00000016,0x00000013,0x00000000,
	0x00050051,0x00000006,0x00000017,0x00000013,0x00000001,0x00070050,0x00000007,0x00000018,
	0x00000016,0x00000017,0x00000014,0x00000015,0x00050041,0x0000001d,0x0000001e,0x0000001c,
	0x0000000f,0x0004003d,0x00000019,0x0000001f,0x0000001e,0x00050090,0x00000007,0x00000020,
	0x00000018,0x0000001f,0x00050041,0x00000021,0x00000022,0x0000000d,0x0000000f,0x0003003e,
	0x00000022,0x00000020,0x0004003d,0x00000007,0x00000026,0x00000025,0x0003003e,0x00000023,
	0x00000026,0x0004003d,0x00000010,0x0000002a,0x00000029,0x0003003e,0x00000028,0x0000002a,
	0x000100fd,0x00010038
};
/*
#version 450

layout(set = 0, binding = 1) uniform texture2D uTex;
layout(set = 0, binding = 2) uniform sampler uSampler;

layout(location = 0) in vec4 in_var_COLOR0;
layout(location = 1) in vec2 in_var_TEXCOORD0;
layout(location = 0) out vec4 out_var_SV_Target;

void main()
{
	out_var_SV_Target = in_var_COLOR0 * texture(sampler2D(uTex, uSampler), in_var_TEXCOORD0);
}
*/
// 7.8.2833
#pragma once
const uint32_t vk_builtin_textured_imgui_frag[] = {
	0x07230203,0x00010000,0x00080007,0x0000001d,0x00000000,0x00020011,0x00000001,0x0006000b,
	0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
	0x0008000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000009,0x0000000b,0x00000019,
	0x00030010,0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,
	0x6e69616d,0x00000000,0x00070005,0x00000009,0x5f74756f,0x5f726176,0x545f5653,0x65677261,
	0x00000074,0x00060005,0x0000000b,0x765f6e69,0x435f7261,0x524f4c4f,0x00000030,0x00040005,
	0x0000000f,0x78655475,0x00000000,0x00050005,0x00000013,0x6d615375,0x72656c70,0x00000000,
	0x00070005,0x00000019,0x765f6e69,0x545f7261,0x4f435845,0x3044524f,0x00000000,0x00040047,
	0x00000009,0x0000001e,0x00000000,0x00040047,0x0000000b,0x0000001e,0x00000000,0x00040047,
	0x0000000f,0x00000022,0x00000000,0x00040047,0x0000000f,0x00000021,0x00000001,0x00040047,
	0x00000013,0x00000022,0x00000000,0x00040047,0x00000013,0x00000021,0x00000002,0x00040047,
	0x00000019,0x0000001e,0x00000001,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
	0x00030016,0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000004,0x00040020,
	0x00000008,0x00000003,0x00000007,0x0004003b,0x00000008,0x00000009,0x00000003,0x00040020,
	0x0000000a,0x00000001,0x00000007,0x0004003b,0x0000000a,0x0000000b,0x00000001,0x00090019,
	0x0000000d,0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,
	0x00040020,0x0000000e,0x00000000,0x0000000d,0x0004003b,0x0000000e,0x0000000f,0x00000000,
	0x0002001a,0x00000011,0x00040020,0x00000012,0x00000000,0x00000011,0x0004003b,0x00000012,
	0x00000013,0x00000000,0x0003001b,0x00000015,0x0000000d,0x00040017,0x00000017,0x00000006,
	0x00000002,0x00040020,0x00000018,0x00000001,0x00000017,0x0004003b,0x00000018,0x00000019,
	0x00000001,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,
	0x0004003d,0x00000007,0x0000000c,0x0000000b,0x0004003d,0x0000000d,0x00000010,0x0000000f,
	0x0004003d,0x00000011,0x00000014,0x00000013,0x00050056,0x00000015,0x00000016,0x00000010,
	0x00000014,0x0004003d,0x00000017,0x0000001a,0x00000019,0x00050057,0x00000007,0x0000001b,
	0x00000016,0x0000001a,0x00050085,0x00000007,0x0000001c,0x0000000c,0x0000001b,0x0003003e,
	0x00000009,0x0000001c,0x000100fd,0x00010038
};
/************************************************************************/
/************************************************************************/
static const char* mtl_builtin_plain = R"(
#include <metal_stdlib>
using namespace metal;

struct UniformBlock
{
	float4 color;
	float2 scaleBias;
};

struct VSIn
{
   float4 position [[attribute(0)]];
};

struct VSOut
{
   float4 position [[position]];
};

vertex VSOut VSMain(VSIn vsin [[stage_in]], constant UniformBlock& uRootConstants [[buffer(1)]]){
 VSOut vsout;
 vsout.position = float4 (vsin.position.xy * uRootConstants.scaleBias.xy + float2(-1.0f, 1.0f), 0.0f, 1.0f);
 return vsout;
};

fragment float4 PSMain(constant UniformBlock& uRootConstants [[buffer(1)]]) {
  return uRootConstants.color;
}
)";

static const char* mtl_builtin_plain_color = R"(
#include <metal_stdlib>
using namespace metal;

struct UniformBlock
{
	float2 scaleBias;
};

struct VSIn
{
   float2 position [[attribute(0)]];
   float4 color [[attribute(1)]];
};

struct VSOut
{
   float4 position [[position]];
   float4 color;
};

vertex VSOut VSMain(VSIn vsin [[stage_in]], constant UniformBlock& uRootConstants [[buffer(1)]]){
 VSOut vsout;
 vsout.position = float4 (vsin.position.xy * uRootConstants.scaleBias.xy + float2(-1.0f, 1.0f), 0.0f, 1.0f);
 vsout.color = vsin.color;
 return vsout;
};

fragment float4 PSMain(VSOut In [[stage_in]]) {
  return In.color;
}
)";

static const char* mtl_builtin_textured = R"(
#include <metal_stdlib>
using namespace metal;

struct VsIn
{
	float2 position [[attribute(0)]];
	float2 texCoord [[attribute(1)]];
};

struct PsIn
{
	float4 position [[position]];
	float2 texCoord;
};

struct UniformBlock
{
	float4 color;
	float2 scaleBias;
};

vertex PsIn VSMain(VsIn In [[stage_in]], constant UniformBlock& uRootConstants [[buffer(1)]])
{
	PsIn Out;
	Out.position = float4 (In.position, 0.0f, 1.0f);
	Out.position.xy = Out.position.xy * uRootConstants.scaleBias.xy + float2(-1.0f, 1.0f);
	Out.texCoord = In.texCoord;
	return Out;
}

fragment float4 PSMain(PsIn In [[stage_in]],
                       texture2d<float,access::sample> uTex [[texture(0)]],
                       sampler uSampler [[sampler(0)]],
                       constant UniformBlock& uRootConstants [[buffer(1)]])
{
	return uTex.sample(uSampler, In.texCoord) * uRootConstants.color;
}
)";

static const char* mtl_builtin_textured_imgui_vert = R"(
/* Write your header comments here */
#include <metal_stdlib>
#include <metal_atomic>
using namespace metal;

inline float3x3 matrix_ctor(float4x4 m) {
	return float3x3(m[0].xyz, m[1].xyz, m[2].xyz);
}
struct Vertex_Shader
{

	struct Uniforms_uniformBlockVS {

		float4x4 ProjectionMatrix;
	};
	constant Uniforms_uniformBlockVS & uniformBlockVS;

	struct VS_INPUT
	{
		float2 pos[[attribute(0)]];
		float2 uv[[attribute(1)]];
		float4 col[[attribute(2)]];
	};

	struct PS_INPUT
	{
		float4 pos[[position]];
		float4 col;
		float2 uv;
	};

	PS_INPUT main(VS_INPUT input)
	{
		PS_INPUT output;
		output.pos = ((uniformBlockVS.ProjectionMatrix)*(float4(input.pos.xy, 0.0, 1.0)));
		output.col = input.col;
		output.uv = input.uv;
		return output;
	};

	Vertex_Shader(constant Uniforms_uniformBlockVS & uniformBlockVS) : uniformBlockVS(uniformBlockVS) {}
};


vertex Vertex_Shader::PS_INPUT stageMain(Vertex_Shader::VS_INPUT input[[stage_in]],
	constant     Vertex_Shader::Uniforms_uniformBlockVS & uniformBlockVS[[buffer(1)]]) {
	Vertex_Shader::VS_INPUT input0;
	input0.pos = input.pos;
	input0.uv = input.uv;
	input0.col = input.col / 255.0f;
	Vertex_Shader main(uniformBlockVS);
	return main.main(input0);
}
)";

static const char* mtl_builtin_textured_imgui_frag = R"(
/* Write your header comments here */
#include <metal_stdlib>
#include <metal_atomic>
using namespace metal;

inline float3x3 matrix_ctor(float4x4 m) {
	return float3x3(m[0].xyz, m[1].xyz, m[2].xyz);
}
struct Fragment_Shader
{

	struct PS_INPUT
	{
		float4 pos[[position]];
		float4 col;
		float2 uv;
	};

	texture2d<float> uTex;
	sampler uSampler;

	float4 main(PS_INPUT input)
	{
		float4 out_col = input.col *  uTex.sample(uSampler, input.uv);
		return out_col;
	};

	Fragment_Shader(texture2d<float> uTex,
		sampler uSampler) : uTex(uTex),
		uSampler(uSampler) {}
};


fragment float4 stageMain(Fragment_Shader::PS_INPUT input[[stage_in]],
	texture2d<float> uTex[[texture(2)]],
	sampler uSampler[[sampler(3)]]) {
	Fragment_Shader::PS_INPUT input0;
	input0.pos = float4(input.pos.xyz, 1.0 / input.pos.w);
	input0.col = input.col;
	input0.uv = input.uv;
	Fragment_Shader main(uTex, uSampler);
	return main.main(input0);
}
)";
/************************************************************************/
/************************************************************************/
